﻿using System;
using Terraria.Enums;

namespace Terraria.DataStructures
{
	// Token: 0x02000477 RID: 1143
	public struct AnchorData
	{
		// Token: 0x06002686 RID: 9862 RVA: 0x0001ACF4 File Offset: 0x00018EF4
		public AnchorData(AnchorType type, int count, int start)
		{
			this.type = type;
			this.tileCount = count;
			this.checkStart = start;
		}

		// Token: 0x06002687 RID: 9863 RVA: 0x0001AD0B File Offset: 0x00018F0B
		public static bool operator ==(AnchorData data1, AnchorData data2)
		{
			return data1.type == data2.type && data1.tileCount == data2.tileCount && data1.checkStart == data2.checkStart;
		}

		// Token: 0x06002688 RID: 9864 RVA: 0x0001AD39 File Offset: 0x00018F39
		public static bool operator !=(AnchorData data1, AnchorData data2)
		{
			return data1.type != data2.type || data1.tileCount != data2.tileCount || data1.checkStart != data2.checkStart;
		}

		// Token: 0x06002689 RID: 9865 RVA: 0x00491EE0 File Offset: 0x004900E0
		public override bool Equals(object obj)
		{
			return obj is AnchorData && this.type == ((AnchorData)obj).type && this.tileCount == ((AnchorData)obj).tileCount && this.checkStart == ((AnchorData)obj).checkStart;
		}

		// Token: 0x0600268A RID: 9866 RVA: 0x00491F30 File Offset: 0x00490130
		public override int GetHashCode()
		{
			byte b = (byte)this.checkStart;
			byte b2 = (byte)this.tileCount;
			ushort num = (ushort)this.type;
			return (int)num << 16 | (int)b2 << 8 | (int)b;
		}

		// Token: 0x04004340 RID: 17216
		public AnchorType type;

		// Token: 0x04004341 RID: 17217
		public int tileCount;

		// Token: 0x04004342 RID: 17218
		public int checkStart;

		// Token: 0x04004343 RID: 17219
		public static AnchorData Empty;
	}
}
